import 'package:get/get.dart';
import '../model/plant_encyclopedia_model.dart';
import '../data/plant_encyclopedia_data.dart';

/// 植物百科状态管理
/// 使用GetX进行状态管理，提供植物百科的查询功能
class PlantEncyclopediaState extends GetxController {
  /// 植物百科列表
  final RxList<PlantEncyclopediaModel> _encyclopediaList =
      <PlantEncyclopediaModel>[].obs;

  /// 获取所有植物百科数据
  List<PlantEncyclopediaModel> get allPlants => _encyclopediaList;

  @override
  void onInit() {
    super.onInit();
    _loadDefaultData();
  }

  /// 加载默认数据
  void _loadDefaultData() {
    _encyclopediaList.assignAll(PlantEncyclopediaData.getDefaultData());
  }

  /// 根据ID获取植物信息
  PlantEncyclopediaModel? getPlantById(String id) {
    try {
      return _encyclopediaList.firstWhere((plant) => plant.id == id);
    } catch (e) {
      return null;
    }
  }
}
